//
//  FHMainViewController.swift
//  WeiBo
//
//  Created by qfh on 16/7/9.
//  Copyright © 2016年 qiufuhe. All rights reserved.
//

import UIKit

import SVProgressHUD



 ///主框架 tabBarConroller

class FHMainViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        


       
        /// 创建自定义 tabBar
        let tabBar = FHTabBar()
        
        tabBar.tintColor = UIColor.orangeColor()
        
        /**
        *  调用 中间 button 点击事件  执行的闭包
        */
        tabBar.addCosuere = {
            
            if !FHUserAccessViewModel.sharedUserAccessViewModel.isLogin {
            
                SVProgressHUD.showErrorWithStatus("请先登录")
                
                return
            }
            // pose  动画视图
            FHComposeView.show(self)
            
            
            
        }
        
        
        /**
            tabBar  为只读属性  只能用kvc 讲数据写入
        */
        setValue(tabBar, forKey: "tabBar")
        

        /**
         添加首页控制器
        */
        addChildViewController(FHHomeTableViewController(), titleName: "首页", imageName: "tabbar_home")
        
        /**
        添加消息控制器
        */
        addChildViewController(FHMessageTableViewController(), titleName: "消息", imageName: "tabbar_message_center")
        
        /**
        添加发现控制器
        */
        addChildViewController(FHDiscoverTableViewController(), titleName: "发现", imageName: "tabbar_discover")
        
        /**
        添加我  控制器
        */
        addChildViewController(FHProfileTableViewController(), titleName: "我", imageName: "tabbar_profile")
    
    
    
    }

    
    
    
    /**
     添加子控制器
     
     - parameter childController: 子控制器
     - parameter titleName:       设置控制器title
     - parameter imageName:       设置控制器image
     */
     func addChildViewController(childController: UIViewController, titleName: String, imageName: String) {
        
        childController.tabBarItem = FHTabBarItem()
        
        childController.title = titleName;
        
        childController.tabBarItem.setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(14)], forState: .Normal)
        
        childController.tabBarItem.image = UIImage(named: imageName)
        
        childController.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")
        
        let childNav = UINavigationController(rootViewController: childController)
        
        addChildViewController(childNav)
        
        
    }

}
